Las expresiones regulares (Regex), son patrones de coincidencia utilizados para encontrar una determinada combinación de caracteres dentro de una cadena de texto. Estos patrones pueden usarse para comparar, extraer, remplazar o dividir segmentos de un texto particular, en otra cadena, texto largo o documento.
Al respecto, John D. Cook consultor en matemáticas aplicadas, estadística y privacidad de data, menciona en su cuenta de twitter, destinada a expresiones regulares (RegexTip), cuatro tips importantes que le ayudaron a comprender de ellas mientras aprendía:
En la tabla a continuación, comparo dos páginas web dedicadas a enseñar de expresiones regulares, donde la columna de la izquierda representa mi fuente ganadora y la de la derecha.
| - | Fuente Ganadora🏆 | Fuente a Mejorar |
|---|---|---|
| 🔗Link | Regex One | Regular Expressions.Info |
| ✅Pros | Permite aprender expresiones regulares de manera interactiva y simple, además de que trae tutoriales para lenguajes en específico. En esta pagina, definitivamente, se defiende que la practica hace al maestro… | Tiene una basta gama de tutoriales Regex, creo está bastante completa la información… (no me atreví a seguir curioseando) |
| ‼️ Cons | No la conseguí antes. | Por temas de usabilidad, es imprescindible que el diseño esté siempre orientado y pensado por y para el usuario, en este sentido esta página tiene mucho aún por desarrollar. |
| ☑️ Score | 10/10 |
5.4/10 |
Algunos Ejemplos de tweets contenidos en la cuenta de (RegexTip):
Reminder: * means zero or more, + means one or more, ? means zero or one.
— Regular Expression (@RegexTip) November 6, 2019
Regex crossword https://t.co/Uuj2gjYlWM
— Regular Expression (@RegexTip) September 3, 2019
Outside of a character class, the only special characters in regular expressions are [^$.|?*+() Most characters are treated literally.
— Regular Expression (@RegexTip) August 20, 2019
R Markdown es un formato que permite la fácil creación de documentos, presentaciones dinámicas e informes en R, utilizando de fondo un lenguaje llamado Markdown para enriquecer el informe final.
Este permite incluir:
Comandos de R.Pero lo más importante es que permite que se reproduzca el análisis realizado y si se incorporan nuevos datos, los resultados se actualizarán.
Entre sus numerosas utilidades, se pueden mencionar las siguientes:
De igual forma que con el segmento anterior, en la tabla a continuación, comparo dos páginas web dedicadas a enseñar de RMarkdown, la columna de la izquierda continúa representando la ganadora.
| - | Fuente Ganadora🏆 | Fuente a Mejorar |
|---|---|---|
| 🔗 Link | R Markdown from R Studio | markdown.es |
| ✅ Pros | Es la página más completa en contenido. Desde tutoriales básicos y explicitos, hasta formatos mas avanzados, esta fuente concatena la información necesaria para ser un experto en R Markdown. | Información explicada en español, con enlaces externos útiles. |
| ‼️ Cons | Puede llegar a parecer abrumadora la cantidad de contenido si no se ha investigado con paciencia como utilizarla. | El formato de la página no lo hace sencillo de entender, la publicidad distrae al usuario y no es intuitiva, este producto web no está bien construido. |
| ☑️ Score | 9.5/10 |
4/10 |
En la presente sección, se realiza un breve análisis exploratorio de los datos contenidos en FIFA 19 complete player Dataseet, el cual expone los atributos detallados para cada jugador registrado en la ultima edición o base de datos FIFA19.
He utilizado el DS disponible en GitHub, donde cada jugador se describe con mas de 80 atributos diferentes. Esta información se obtiene originalmente del website SoFiFa.
Para comenzar, es necesario leer (o instalar, en su defecto) las librerías CRAN contenidas a continuación, e importar la data, la cual se lee directamente desde internet como un archivo .csv
library("RCurl")
library("dplyr")
library("knitr")
library("kableExtra")
library("viridis")
library("ggplot2")
library("gridExtra")
library("grid")
library("ggridges")
library("treemap")
library("tidyverse")
library("stringr")
library("ggforce")
library("DT")
library("RgoogleMaps")
library("ggmap")
library("rjson")
library("jsonlite")
library("leaflet")La dimensión de la tabla original, es la siguiente:
## [1] 18207 89
Por dicho motivo, se hizo necesario el filtrado de la misma.
La columna de Posición, tiene por default muchos valores diferentes (Position Levels: 28) correspondientes a todas las posibles posiciones de un jugador en la cancha, para este estudio agrupo dichos valores en 4 grandes familias:
FIFA 2019 DataSet Filtered
En el tratado de estos datos, podemos apreciar lo siguiente:
Las líneas punteadas en cada histograma, representan el promedio para cada muestra.
Se puede apreciar en los histogramas, que la distribución de edades esta sesgada a la derecha, mientras que el resto de distribuciones son simétricas. La mayor parte de los jugadores utilizan preferiblemente el pie derecho. El tipo de cuerpo con mayor porcentaje es el “normal”, seguido por “delgado” y los jugadores “fornidos” son los menos dominantes.
Este es el resultado del plot de densidad por posición de jugador. Los “forward”, “midfielder” y “defenders”, tienen formas simétricas, con valores de mediana casi iguales, lo que implica que (teóricamente) en “FIFA 19” estos están bien balanceados. Sin embargo, para los “Goalkeepers”, la distribución es diferente y la mediana menor a la de los demás.
La distribución de Wage y Value está sesgada, se puede ver que la mayoría de los puntos se concentran cerca del cero. Sin embargo, a medida que aumenta el Salario, aumenta el Valor.
En el diagrama de árbol, se aprecia dominancia de jugadores europeos en los cuadrantes mas grandes.
En este segmento, se muestra a mi jugador preferido, el maravilloso:
## Name Age Nationality Height Weight Overall
## 18 A. Griezmann 27 France 175.3 73.02831 89
Antoine Griezmann, nace en Mâcon - Borgoña, es un futbolista francés que juega como delantero en el Fútbol Club Barcelona de la Primera División de España. Además, es internacional con la selección de fútbol de Francia y ganó la copa del mundo en Rusia 2018 con esta selección.
En este aparto, con la ayuda de la API de Google Cloud Platform, he graficado las ubicaciones de Mâcon y del Camp Nou, actual club del jugador en cuestión.
Give a man a program, frustrate him for a day.Teach a man to program, frustrate him for a lifetime.” ― Muhammad Waseem